Over a broadband network, such as a private enterprise broadband network or a public broadband network (e.g., the Internet), various kinds of traffic are processed with varying quality of service requirements. Such varying quality of service requirements in turn drive traffic prioritization requirements to ensure that data for applications requiring a higher quality of service receive priority treatment in order to deliver a certain minimum level of performance to the data flow. For example, a required bit rate, delay, jitter, packet dropping probability and/or bit error rate may be necessary for an application to operate at an acceptable performance level. This is especially true for real-time streaming applications, such as voice over IP, on-line gaming and IP-television applications, which typically require a fixed bit rate and are delay sensitive. Depending on the type of network, however, delivering the necessary quality of service requirements poses significant challenges.
In high performance broadband communications networks certain protocols or services can be offered that support the quality of service requirements of high priority, real-time traffic applications. For example, multiprotocol label switching (MPLS) is a current service offering in such high performance networks (e.g., in T1/E1, ATM Frame Relay and DSL networks), which supports quality of service requirements of such applications. MPLS directs data from one network node to the next based on short path labels, rather than long network addresses (e.g., the Internet), avoiding complex lookups in routing tables. MPLS services generally are significantly more expensive than the more typical consumer and small business Internet services, and thus can be cost prohibitive. Alternatively, constant or guaranteed minimum bit rate services are also available, and can solve quality of service requirements of real-time applications, but such services are similarly cost prohibitive.
The general protocols of the Internet, on the other hand, provide for more affordable broadband communications services, but are far less reliable. Unlike single-owner networks, the Internet is a series of exchange points interconnecting private networks, owned and managed by a number of different network service providers, and thus the behavior of the Internet is unpredictable. Further, conventional Internet routers and local area network (LAN) switches operate on a best effort basis, which generally does not support quality of service. Under a best effort delivery service, the network does not provide any guarantees for timing and order of data packet delivery, or any guarantees of data packet delivery at all—and thus do not generally provide any guaranteed quality of service or priority levels. In a best effort network, generally, all users obtain best effort service, meaning that they obtain unspecified variable bit rate and delivery time, depending on the current traffic load. The lack of reliability permits various error conditions, such as data corruption, packet loss and duplication, as well as out-of-order packet delivery. Since routing is dynamic for every packet and the network maintains no state of the path of prior packets, it is possible that some packets are routed on a longer path to their destination, resulting in improper sequencing at the receiver. Such networks, therefore, are generally unreliable for real-time applications, such as voice over IP.
In packet-switched networks (such as the Internet), quality of service is affected by various factors, such as: (1) low throughput, whereby, due to varying load from other users sharing the same network resources (e.g., congestion), the bit rate provided to a certain data stream may be too low if all data streams get the same scheduling priority; (2) dropped packets, whereby a router may fail to deliver packets (e.g., where the packet is corrupted or the routers buffers are full); (3) bit errors, whereby a packet may be corrupted by noise or interference; (4) latency, whereby a packet is delayed in reaching its destination (e.g., based on long queues or long routes due to congestion); (5) jitter, whereby packets from one source/application reach the destination with different delays, which delays can vary unpredictably and cause jitter; and (6) out-of-order packet delivery, whereby related packets from a single source/application are routed through a network over different paths and thus experience differing levels of delay resulting in the packets arriving at the destination in a different order from which they were sent (which requires special additional protocols responsible for rearranging out-of-order packets).
Further, a typical broadband connection communicates with a public network (e.g., the Internet) through an access network. The access network typically has a central office with DSL service that communicates data traffic, including voice traffic, having a digital subscriber line (DSL) access multiplexer (DSLAM). From the DSLAM the communications network, such as a broadband network, typically can fan out, such as over the described last-mile link, with twisted pairs to a DSL modem. Also, for example the communications network from the DSL modem can go to a router, such as a virtual private network (VPN) router, and to various devices communicating with the router. Additionally, the communications network can communicate with a host (e.g., over the Internet), which can communicate with a VPN gateway which can communicate with a data center. In the communications network, therefore, devices communicating with the VPN router can also communicate securely with devices associated with the data center.
With such broadband connections, however, congestion in the data flow likely can occur, such as at the router or the gateway, for example. One approach for dealing with significant congestion is to perform what is typically referred to as a random early drop, which is a dropping of data packets as a way of dealing with congestion. However, dropping of data packets, while possibly relieving congestion, typically can affect the quality of service for data transmission and reception. Thus, in a traditional approach, where congestion occurs in a communications network (e.g., over the Internet), latency in reception or transmission, while present, is typically resolved by the random early drop of data packets. For example, therefore, given that there is a limited throughput, when congestion occurs, sending data traffic in a downstream direction (e.g., from the Internet), to the DSLAM, the data traffic will typically back up in the DSLAM. Similarly, for example, as to congestion occurring resulting from sending data traffic in an upstream direction, such as from devices to the DSL modem, the data traffic will typically back up in the DSL modem. When the data traffic backs up, the data traffic typically is routed to a queue, and when the latency is relatively significant, the queue will typically overflow this queue and typically the result is the dropping of data packets.
What is needed, therefore, is an approach that achieves improved network performance (e.g., latency, jitter, throughput) through ordinary-grade (e.g., consumer-grade) broadband connections over conventional broadband networks, facilitating support of application-level quality of service traffic requirements (e.g., traffic requirements of real-time service applications, such as voice-over-IP (VOIP) services) through such ordinary-grade broadband connections over conventional broadband networks.